{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.0.0-alpha0\n",
      "sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)\n",
      "matplotlib 3.0.3\n",
      "numpy 1.16.2\n",
      "pandas 0.24.2\n",
      "sklearn 0.20.3\n",
      "tensorflow 2.0.0-alpha0\n",
      "tensorflow.python.keras.api._v2.keras 2.2.4-tf\n"
     ]
    }
   ],
   "source": [
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import numpy as np\n",
    "import sklearn\n",
    "import pandas as pd\n",
    "import os\n",
    "import sys\n",
    "import time\n",
    "import tensorflow as tf\n",
    "\n",
    "from tensorflow import keras\n",
    "\n",
    "print(tf.__version__)\n",
    "print(sys.version_info)\n",
    "for module in mpl, np, pd, sklearn, tf, keras:\n",
    "    print(module.__name__, module.__version__)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      ".. _california_housing_dataset:\n",
      "\n",
      "California Housing dataset\n",
      "--------------------------\n",
      "\n",
      "**Data Set Characteristics:**\n",
      "\n",
      "    :Number of Instances: 20640\n",
      "\n",
      "    :Number of Attributes: 8 numeric, predictive attributes and the target\n",
      "\n",
      "    :Attribute Information:\n",
      "        - MedInc        median income in block\n",
      "        - HouseAge      median house age in block\n",
      "        - AveRooms      average number of rooms\n",
      "        - AveBedrms     average number of bedrooms\n",
      "        - Population    block population\n",
      "        - AveOccup      average house occupancy\n",
      "        - Latitude      house block latitude\n",
      "        - Longitude     house block longitude\n",
      "\n",
      "    :Missing Attribute Values: None\n",
      "\n",
      "This dataset was obtained from the StatLib repository.\n",
      "http://lib.stat.cmu.edu/datasets/\n",
      "\n",
      "The target variable is the median house value for California districts.\n",
      "\n",
      "This dataset was derived from the 1990 U.S. census, using one row per census\n",
      "block group. A block group is the smallest geographical unit for which the U.S.\n",
      "Census Bureau publishes sample data (a block group typically has a population\n",
      "of 600 to 3,000 people).\n",
      "\n",
      "It can be downloaded/loaded using the\n",
      ":func:`sklearn.datasets.fetch_california_housing` function.\n",
      "\n",
      ".. topic:: References\n",
      "\n",
      "    - Pace, R. Kelley and Ronald Barry, Sparse Spatial Autoregressions,\n",
      "      Statistics and Probability Letters, 33 (1997) 291-297\n",
      "\n",
      "(20640, 8)\n",
      "(20640,)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.datasets import fetch_california_housing\n",
    "\n",
    "housing = fetch_california_housing()\n",
    "print(housing.DESCR)\n",
    "print(housing.data.shape)\n",
    "print(housing.target.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(11610, 8) (11610,)\n",
      "(3870, 8) (3870,)\n",
      "(5160, 8) (5160,)\n"
     ]
    }
   ],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "x_train_all, x_test, y_train_all, y_test = train_test_split(\n",
    "    housing.data, housing.target, random_state = 7)\n",
    "x_train, x_valid, y_train, y_valid = train_test_split(\n",
    "    x_train_all, y_train_all, random_state = 11)\n",
    "print(x_train.shape, y_train.shape)\n",
    "print(x_valid.shape, y_valid.shape)\n",
    "print(x_test.shape, y_test.shape)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "scaler = StandardScaler()\n",
    "x_train_scaled = scaler.fit_transform(x_train)\n",
    "x_valid_scaled = scaler.transform(x_valid)\n",
    "x_test_scaled = scaler.transform(x_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 11610 samples, validate on 3870 samples\n",
      "Epoch 1/100\n",
      "11610/11610 [==============================] - 1s 99us/sample - loss: 6.4126 - val_loss: 5.3006\n",
      "Epoch 2/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 4.0658 - val_loss: 3.4573\n",
      "Epoch 3/100\n",
      "11610/11610 [==============================] - 1s 64us/sample - loss: 2.7526 - val_loss: 2.4050\n",
      "Epoch 4/100\n",
      "11610/11610 [==============================] - 1s 63us/sample - loss: 1.9846 - val_loss: 1.7867\n",
      "Epoch 5/100\n",
      "11610/11610 [==============================] - 1s 63us/sample - loss: 1.5269 - val_loss: 1.4206\n",
      "Epoch 6/100\n",
      "11610/11610 [==============================] - 1s 64us/sample - loss: 1.2512 - val_loss: 1.2012\n",
      "Epoch 7/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 1.0839 - val_loss: 1.0693\n",
      "Epoch 8/100\n",
      "11610/11610 [==============================] - 1s 63us/sample - loss: 0.9804 - val_loss: 0.9879\n",
      "Epoch 9/100\n",
      "11610/11610 [==============================] - 1s 66us/sample - loss: 0.9144 - val_loss: 0.9356\n",
      "Epoch 10/100\n",
      "11610/11610 [==============================] - 1s 76us/sample - loss: 0.8703 - val_loss: 0.9009\n",
      "Epoch 11/100\n",
      "11610/11610 [==============================] - 1s 67us/sample - loss: 0.8398 - val_loss: 0.8767\n",
      "Epoch 12/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.8176 - val_loss: 0.8590\n",
      "Epoch 13/100\n",
      "11610/11610 [==============================] - 1s 65us/sample - loss: 0.8006 - val_loss: 0.8453\n",
      "Epoch 14/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.7869 - val_loss: 0.8341\n",
      "Epoch 15/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.7754 - val_loss: 0.8247\n",
      "Epoch 16/100\n",
      "11610/11610 [==============================] - 1s 63us/sample - loss: 0.7655 - val_loss: 0.8165\n",
      "Epoch 17/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.7569 - val_loss: 0.8092\n",
      "Epoch 18/100\n",
      "11610/11610 [==============================] - 1s 63us/sample - loss: 0.7490 - val_loss: 0.8025\n",
      "Epoch 19/100\n",
      "11610/11610 [==============================] - 1s 63us/sample - loss: 0.7418 - val_loss: 0.7963\n",
      "Epoch 20/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.7353 - val_loss: 0.7905\n",
      "Epoch 21/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.7291 - val_loss: 0.7850\n",
      "Epoch 22/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.7234 - val_loss: 0.7798\n",
      "Epoch 23/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.7179 - val_loss: 0.7748\n",
      "Epoch 24/100\n",
      "11610/11610 [==============================] - 1s 68us/sample - loss: 0.7128 - val_loss: 0.7701\n",
      "Epoch 25/100\n",
      "11610/11610 [==============================] - 1s 64us/sample - loss: 0.7079 - val_loss: 0.7655ETA: 0s - loss: 0.703\n",
      "Epoch 26/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.7031 - val_loss: 0.7610\n",
      "Epoch 27/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.6986 - val_loss: 0.7567\n",
      "Epoch 28/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.6943 - val_loss: 0.7525\n",
      "Epoch 29/100\n",
      "11610/11610 [==============================] - 1s 66us/sample - loss: 0.6901 - val_loss: 0.7484\n",
      "Epoch 30/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.6861 - val_loss: 0.7445\n",
      "Epoch 31/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.6822 - val_loss: 0.7407\n",
      "Epoch 32/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.6784 - val_loss: 0.7369\n",
      "Epoch 33/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.6747 - val_loss: 0.7332\n",
      "Epoch 34/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.6712 - val_loss: 0.7296\n",
      "Epoch 35/100\n",
      "11610/11610 [==============================] - 1s 97us/sample - loss: 0.6677 - val_loss: 0.7261\n",
      "Epoch 36/100\n",
      "11610/11610 [==============================] - 1s 96us/sample - loss: 0.6644 - val_loss: 0.7227\n",
      "Epoch 37/100\n",
      "11610/11610 [==============================] - 1s 88us/sample - loss: 0.6611 - val_loss: 0.7193\n",
      "Epoch 38/100\n",
      "11610/11610 [==============================] - 1s 91us/sample - loss: 0.6579 - val_loss: 0.7160\n",
      "Epoch 39/100\n",
      "11610/11610 [==============================] - 1s 82us/sample - loss: 0.6547 - val_loss: 0.7127\n",
      "Epoch 40/100\n",
      "11610/11610 [==============================] - 1s 90us/sample - loss: 0.6517 - val_loss: 0.7095\n",
      "Epoch 41/100\n",
      "11610/11610 [==============================] - 1s 108us/sample - loss: 0.6487 - val_loss: 0.7064\n",
      "Epoch 42/100\n",
      "11610/11610 [==============================] - 1s 82us/sample - loss: 0.6457 - val_loss: 0.7033\n",
      "Epoch 43/100\n",
      "11610/11610 [==============================] - 1s 91us/sample - loss: 0.6429 - val_loss: 0.7003\n",
      "Epoch 44/100\n",
      "11610/11610 [==============================] - 1s 92us/sample - loss: 0.6401 - val_loss: 0.6973\n",
      "Epoch 45/100\n",
      "11610/11610 [==============================] - 1s 96us/sample - loss: 0.6373 - val_loss: 0.6944\n",
      "Epoch 46/100\n",
      "11610/11610 [==============================] - 1s 98us/sample - loss: 0.6346 - val_loss: 0.6916\n",
      "Epoch 47/100\n",
      "11610/11610 [==============================] - 1s 92us/sample - loss: 0.6319 - val_loss: 0.6887\n",
      "Epoch 48/100\n",
      "11610/11610 [==============================] - 1s 72us/sample - loss: 0.6293 - val_loss: 0.6860\n",
      "Epoch 49/100\n",
      "11610/11610 [==============================] - 1s 80us/sample - loss: 0.6268 - val_loss: 0.6833\n",
      "Epoch 50/100\n",
      "11610/11610 [==============================] - 1s 77us/sample - loss: 0.6243 - val_loss: 0.6806\n",
      "Epoch 51/100\n",
      "11610/11610 [==============================] - 1s 72us/sample - loss: 0.6218 - val_loss: 0.6779\n",
      "Epoch 52/100\n",
      "11610/11610 [==============================] - 1s 65us/sample - loss: 0.6194 - val_loss: 0.6753\n",
      "Epoch 53/100\n",
      "11610/11610 [==============================] - 1s 65us/sample - loss: 0.6170 - val_loss: 0.6727\n",
      "Epoch 54/100\n",
      "11610/11610 [==============================] - 2s 130us/sample - loss: 0.6147 - val_loss: 0.6702\n",
      "Epoch 55/100\n",
      "11610/11610 [==============================] - 1s 112us/sample - loss: 0.6123 - val_loss: 0.6677\n",
      "Epoch 56/100\n",
      "11610/11610 [==============================] - 1s 78us/sample - loss: 0.6101 - val_loss: 0.6652\n",
      "Epoch 57/100\n",
      "11610/11610 [==============================] - 1s 91us/sample - loss: 0.6078 - val_loss: 0.6628\n",
      "Epoch 58/100\n",
      "11610/11610 [==============================] - 1s 66us/sample - loss: 0.6057 - val_loss: 0.6605\n",
      "Epoch 59/100\n",
      "11610/11610 [==============================] - 1s 68us/sample - loss: 0.6035 - val_loss: 0.6582\n",
      "Epoch 60/100\n",
      "11610/11610 [==============================] - 1s 68us/sample - loss: 0.6014 - val_loss: 0.6559\n",
      "Epoch 61/100\n",
      "11610/11610 [==============================] - 1s 69us/sample - loss: 0.5994 - val_loss: 0.6536\n",
      "Epoch 62/100\n",
      "11610/11610 [==============================] - 1s 73us/sample - loss: 0.5974 - val_loss: 0.6514\n",
      "Epoch 63/100\n",
      "11610/11610 [==============================] - 1s 67us/sample - loss: 0.5954 - val_loss: 0.6492\n",
      "Epoch 64/100\n",
      "11610/11610 [==============================] - 1s 67us/sample - loss: 0.5934 - val_loss: 0.6470\n",
      "Epoch 65/100\n",
      "11610/11610 [==============================] - 1s 71us/sample - loss: 0.5915 - val_loss: 0.6448\n",
      "Epoch 66/100\n",
      "11610/11610 [==============================] - 1s 87us/sample - loss: 0.5896 - val_loss: 0.6427\n",
      "Epoch 67/100\n",
      "11610/11610 [==============================] - 1s 80us/sample - loss: 0.5877 - val_loss: 0.6407\n",
      "Epoch 68/100\n",
      "11610/11610 [==============================] - 1s 67us/sample - loss: 0.5859 - val_loss: 0.6386\n",
      "Epoch 69/100\n",
      "11610/11610 [==============================] - 1s 80us/sample - loss: 0.5841 - val_loss: 0.6366\n",
      "Epoch 70/100\n",
      "11610/11610 [==============================] - 1s 67us/sample - loss: 0.5823 - val_loss: 0.6346\n",
      "Epoch 71/100\n",
      "11610/11610 [==============================] - 1s 66us/sample - loss: 0.5806 - val_loss: 0.6326\n",
      "Epoch 72/100\n",
      "11610/11610 [==============================] - 1s 65us/sample - loss: 0.5788 - val_loss: 0.6307\n",
      "Epoch 73/100\n",
      "11610/11610 [==============================] - 1s 71us/sample - loss: 0.5771 - val_loss: 0.6288\n",
      "Train on 11610 samples, validate on 3870 samples\n",
      "Epoch 1/100\n",
      "11610/11610 [==============================] - 1s 82us/sample - loss: 3.8627 - val_loss: 2.8484\n",
      "Epoch 2/100\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "11610/11610 [==============================] - 1s 59us/sample - loss: 2.0078 - val_loss: 1.7579\n",
      "Epoch 3/100\n",
      "11610/11610 [==============================] - 1s 57us/sample - loss: 1.3404 - val_loss: 1.3027\n",
      "Epoch 4/100\n",
      "11610/11610 [==============================] - 1s 92us/sample - loss: 1.0620 - val_loss: 1.0935\n",
      "Epoch 5/100\n",
      "11610/11610 [==============================] - 1s 75us/sample - loss: 0.9320 - val_loss: 0.9874\n",
      "Epoch 6/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.8646 - val_loss: 0.9278\n",
      "Epoch 7/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.8241 - val_loss: 0.8882\n",
      "Epoch 8/100\n",
      "11610/11610 [==============================] - 1s 64us/sample - loss: 0.7957 - val_loss: 0.8593\n",
      "Epoch 9/100\n",
      "11610/11610 [==============================] - 1s 59us/sample - loss: 0.7734 - val_loss: 0.8361\n",
      "Epoch 10/100\n",
      "11610/11610 [==============================] - 1s 58us/sample - loss: 0.7546 - val_loss: 0.8161\n",
      "Epoch 11/100\n",
      "11610/11610 [==============================] - 1s 64us/sample - loss: 0.7380 - val_loss: 0.7984\n",
      "Epoch 12/100\n",
      "11610/11610 [==============================] - 1s 63us/sample - loss: 0.7233 - val_loss: 0.7824\n",
      "Epoch 13/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.7095 - val_loss: 0.7678\n",
      "Epoch 14/100\n",
      "11610/11610 [==============================] - 1s 57us/sample - loss: 0.6969 - val_loss: 0.7546\n",
      "Epoch 15/100\n",
      "11610/11610 [==============================] - 1s 57us/sample - loss: 0.6852 - val_loss: 0.7418\n",
      "Epoch 16/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.6742 - val_loss: 0.7302\n",
      "Epoch 17/100\n",
      "11610/11610 [==============================] - 1s 68us/sample - loss: 0.6638 - val_loss: 0.7191\n",
      "Epoch 18/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.6542 - val_loss: 0.7087\n",
      "Epoch 19/100\n",
      "11610/11610 [==============================] - 1s 64us/sample - loss: 0.6450 - val_loss: 0.6986\n",
      "Epoch 20/100\n",
      "11610/11610 [==============================] - 1s 94us/sample - loss: 0.6362 - val_loss: 0.6891\n",
      "Epoch 21/100\n",
      "11610/11610 [==============================] - 1s 98us/sample - loss: 0.6277 - val_loss: 0.6799\n",
      "Epoch 22/100\n",
      "11610/11610 [==============================] - 1s 96us/sample - loss: 0.6198 - val_loss: 0.6711\n",
      "Epoch 23/100\n",
      "11610/11610 [==============================] - 1s 84us/sample - loss: 0.6121 - val_loss: 0.6627\n",
      "Epoch 24/100\n",
      "11610/11610 [==============================] - 1s 66us/sample - loss: 0.6047 - val_loss: 0.6546\n",
      "Epoch 25/100\n",
      "11610/11610 [==============================] - 1s 76us/sample - loss: 0.5977 - val_loss: 0.6469\n",
      "Epoch 26/100\n",
      "11610/11610 [==============================] - 1s 74us/sample - loss: 0.5908 - val_loss: 0.6394\n",
      "Epoch 27/100\n",
      "11610/11610 [==============================] - 1s 80us/sample - loss: 0.5843 - val_loss: 0.6318\n",
      "Epoch 28/100\n",
      "11610/11610 [==============================] - 1s 72us/sample - loss: 0.5780 - val_loss: 0.6252\n",
      "Epoch 29/100\n",
      "11610/11610 [==============================] - 1s 87us/sample - loss: 0.5720 - val_loss: 0.6187\n",
      "Epoch 30/100\n",
      "11610/11610 [==============================] - 1s 83us/sample - loss: 0.5663 - val_loss: 0.6121\n",
      "Epoch 31/100\n",
      "11610/11610 [==============================] - 1s 75us/sample - loss: 0.5607 - val_loss: 0.6060\n",
      "Epoch 32/100\n",
      "11610/11610 [==============================] - 1s 77us/sample - loss: 0.5554 - val_loss: 0.5997\n",
      "Epoch 33/100\n",
      "11610/11610 [==============================] - 1s 70us/sample - loss: 0.5504 - val_loss: 0.5941\n",
      "Epoch 34/100\n",
      "11610/11610 [==============================] - 1s 67us/sample - loss: 0.5456 - val_loss: 0.5890\n",
      "Epoch 35/100\n",
      "11610/11610 [==============================] - 1s 65us/sample - loss: 0.5409 - val_loss: 0.5835\n",
      "Epoch 36/100\n",
      "11610/11610 [==============================] - 1s 73us/sample - loss: 0.5367 - val_loss: 0.5784\n",
      "Epoch 37/100\n",
      "11610/11610 [==============================] - 1s 64us/sample - loss: 0.5324 - val_loss: 0.5734\n",
      "Epoch 38/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.5285 - val_loss: 0.5688\n",
      "Epoch 39/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.5246 - val_loss: 0.5644\n",
      "Epoch 40/100\n",
      "11610/11610 [==============================] - 1s 65us/sample - loss: 0.5211 - val_loss: 0.5604\n",
      "Epoch 41/100\n",
      "11610/11610 [==============================] - 1s 65us/sample - loss: 0.5177 - val_loss: 0.5562\n",
      "Epoch 42/100\n",
      "11610/11610 [==============================] - 1s 65us/sample - loss: 0.5144 - val_loss: 0.5525\n",
      "Epoch 43/100\n",
      "11610/11610 [==============================] - 1s 65us/sample - loss: 0.5114 - val_loss: 0.5485\n",
      "Epoch 44/100\n",
      "11610/11610 [==============================] - 1s 63us/sample - loss: 0.5085 - val_loss: 0.5449\n",
      "Epoch 45/100\n",
      "11610/11610 [==============================] - 1s 67us/sample - loss: 0.5058 - val_loss: 0.5416\n",
      "Epoch 46/100\n",
      "11610/11610 [==============================] - 1s 74us/sample - loss: 0.5031 - val_loss: 0.5380ETA: 0s - loss: 0.500 - ETA: 0s - loss: 0.4\n",
      "Epoch 47/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.5007 - val_loss: 0.5355\n",
      "Epoch 48/100\n",
      "11610/11610 [==============================] - 1s 63us/sample - loss: 0.4984 - val_loss: 0.5325\n",
      "Epoch 49/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.4962 - val_loss: 0.5301\n",
      "Epoch 50/100\n",
      "11610/11610 [==============================] - 1s 63us/sample - loss: 0.4942 - val_loss: 0.5272\n",
      "Epoch 51/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.4922 - val_loss: 0.5250\n",
      "Epoch 52/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.4903 - val_loss: 0.5224\n",
      "Epoch 53/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.4885 - val_loss: 0.5203\n",
      "Epoch 54/100\n",
      "11610/11610 [==============================] - 1s 63us/sample - loss: 0.4868 - val_loss: 0.5182\n",
      "Epoch 55/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.4852 - val_loss: 0.5160\n",
      "Epoch 56/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.4837 - val_loss: 0.5144\n",
      "Epoch 57/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.4822 - val_loss: 0.5123\n",
      "Epoch 58/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.4808 - val_loss: 0.5103\n",
      "Epoch 59/100\n",
      "11610/11610 [==============================] - 1s 76us/sample - loss: 0.4795 - val_loss: 0.5086\n",
      "Epoch 60/100\n",
      "11610/11610 [==============================] - 1s 68us/sample - loss: 0.4782 - val_loss: 0.5074ETA: 0s - loss: 0.47\n",
      "Train on 11610 samples, validate on 3870 samples\n",
      "Epoch 1/100\n",
      "11610/11610 [==============================] - 1s 81us/sample - loss: 2.0311 - val_loss: 0.9552\n",
      "Epoch 2/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.7390 - val_loss: 0.7326\n",
      "Epoch 3/100\n",
      "11610/11610 [==============================] - 1s 60us/sample - loss: 0.6543 - val_loss: 0.6906\n",
      "Epoch 4/100\n",
      "11610/11610 [==============================] - 1s 60us/sample - loss: 0.6233 - val_loss: 0.6610\n",
      "Epoch 5/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.5995 - val_loss: 0.6377\n",
      "Epoch 6/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.5792 - val_loss: 0.6194\n",
      "Epoch 7/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.5624 - val_loss: 0.6016\n",
      "Epoch 8/100\n",
      "11610/11610 [==============================] - 1s 60us/sample - loss: 0.5480 - val_loss: 0.5862\n",
      "Epoch 9/100\n",
      "11610/11610 [==============================] - 1s 63us/sample - loss: 0.5354 - val_loss: 0.5739\n",
      "Epoch 10/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.5248 - val_loss: 0.5631\n",
      "Epoch 11/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.5154 - val_loss: 0.5526\n",
      "Epoch 12/100\n",
      "11610/11610 [==============================] - 1s 65us/sample - loss: 0.5069 - val_loss: 0.5440\n",
      "Epoch 13/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.4997 - val_loss: 0.5357\n",
      "Epoch 14/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.4931 - val_loss: 0.5287\n",
      "Epoch 15/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.4872 - val_loss: 0.5214\n",
      "Epoch 16/100\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "11610/11610 [==============================] - 1s 57us/sample - loss: 0.4819 - val_loss: 0.5163\n",
      "Epoch 17/100\n",
      "11610/11610 [==============================] - 1s 56us/sample - loss: 0.4769 - val_loss: 0.5103\n",
      "Epoch 18/100\n",
      "11610/11610 [==============================] - 1s 57us/sample - loss: 0.4725 - val_loss: 0.5063\n",
      "Epoch 19/100\n",
      "11610/11610 [==============================] - 1s 56us/sample - loss: 0.4683 - val_loss: 0.5013\n",
      "Epoch 20/100\n",
      "11610/11610 [==============================] - 1s 57us/sample - loss: 0.4649 - val_loss: 0.4975\n",
      "Epoch 21/100\n",
      "11610/11610 [==============================] - 1s 56us/sample - loss: 0.4614 - val_loss: 0.4955\n",
      "Epoch 22/100\n",
      "11610/11610 [==============================] - ETA: 0s - loss: 0.459 - 1s 57us/sample - loss: 0.4583 - val_loss: 0.4912\n",
      "Epoch 23/100\n",
      "11610/11610 [==============================] - 1s 56us/sample - loss: 0.4554 - val_loss: 0.4875\n",
      "Epoch 24/100\n",
      "11610/11610 [==============================] - 1s 63us/sample - loss: 0.4527 - val_loss: 0.4840\n",
      "Epoch 25/100\n",
      "11610/11610 [==============================] - 1s 57us/sample - loss: 0.4501 - val_loss: 0.4816\n",
      "Epoch 26/100\n",
      "11610/11610 [==============================] - 1s 107us/sample - loss: 0.4476 - val_loss: 0.4794\n",
      "Epoch 27/100\n",
      "11610/11610 [==============================] - 1s 105us/sample - loss: 0.4454 - val_loss: 0.4764\n",
      "Epoch 28/100\n",
      "11610/11610 [==============================] - 1s 92us/sample - loss: 0.4432 - val_loss: 0.4730\n",
      "Epoch 29/100\n",
      "11610/11610 [==============================] - 1s 98us/sample - loss: 0.4410 - val_loss: 0.4703\n",
      "Epoch 30/100\n",
      "11610/11610 [==============================] - 1s 93us/sample - loss: 0.4390 - val_loss: 0.4686\n",
      "Epoch 31/100\n",
      "11610/11610 [==============================] - 1s 81us/sample - loss: 0.4371 - val_loss: 0.4664\n",
      "Epoch 32/100\n",
      "11610/11610 [==============================] - 1s 96us/sample - loss: 0.4351 - val_loss: 0.4632\n",
      "Epoch 33/100\n",
      "11610/11610 [==============================] - 1s 81us/sample - loss: 0.4334 - val_loss: 0.4614\n",
      "Epoch 34/100\n",
      "11610/11610 [==============================] - 1s 70us/sample - loss: 0.4314 - val_loss: 0.4588\n",
      "Epoch 35/100\n",
      "11610/11610 [==============================] - 1s 69us/sample - loss: 0.4299 - val_loss: 0.4565\n",
      "Epoch 36/100\n",
      "11610/11610 [==============================] - 1s 74us/sample - loss: 0.4280 - val_loss: 0.4547\n",
      "Epoch 37/100\n",
      "11610/11610 [==============================] - 1s 85us/sample - loss: 0.4263 - val_loss: 0.4537\n",
      "Epoch 38/100\n",
      "11610/11610 [==============================] - 1s 77us/sample - loss: 0.4248 - val_loss: 0.4515\n",
      "Train on 11610 samples, validate on 3870 samples\n",
      "Epoch 1/100\n",
      "11610/11610 [==============================] - 1s 84us/sample - loss: 1.2061 - val_loss: 0.8766\n",
      "Epoch 2/100\n",
      "11610/11610 [==============================] - 1s 60us/sample - loss: 0.5992 - val_loss: 0.5861\n",
      "Epoch 3/100\n",
      "11610/11610 [==============================] - 1s 58us/sample - loss: 0.5147 - val_loss: 0.5338\n",
      "Epoch 4/100\n",
      "11610/11610 [==============================] - 1s 59us/sample - loss: 0.4864 - val_loss: 0.5074\n",
      "Epoch 5/100\n",
      "11610/11610 [==============================] - 1s 60us/sample - loss: 0.4690 - val_loss: 0.4915\n",
      "Epoch 6/100\n",
      "11610/11610 [==============================] - 1s 58us/sample - loss: 0.4538 - val_loss: 0.4806\n",
      "Epoch 7/100\n",
      "11610/11610 [==============================] - 1s 60us/sample - loss: 0.4441 - val_loss: 0.4680\n",
      "Epoch 8/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.4365 - val_loss: 0.4622\n",
      "Epoch 9/100\n",
      "11610/11610 [==============================] - 1s 60us/sample - loss: 0.4293 - val_loss: 0.4549\n",
      "Epoch 10/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.4242 - val_loss: 0.4489\n",
      "Epoch 11/100\n",
      "11610/11610 [==============================] - 1s 65us/sample - loss: 0.4186 - val_loss: 0.4498\n",
      "Epoch 12/100\n",
      "11610/11610 [==============================] - 1s 59us/sample - loss: 0.4164 - val_loss: 0.4376\n",
      "Epoch 13/100\n",
      "11610/11610 [==============================] - 1s 59us/sample - loss: 0.4121 - val_loss: 0.4360\n",
      "Epoch 14/100\n",
      "11610/11610 [==============================] - 1s 60us/sample - loss: 0.4086 - val_loss: 0.4307\n",
      "Epoch 15/100\n",
      "11610/11610 [==============================] - 1s 59us/sample - loss: 0.4065 - val_loss: 0.4293\n",
      "Epoch 16/100\n",
      "11610/11610 [==============================] - 1s 59us/sample - loss: 0.4029 - val_loss: 0.4273\n",
      "Epoch 17/100\n",
      "11610/11610 [==============================] - 1s 60us/sample - loss: 0.4015 - val_loss: 0.4244\n",
      "Epoch 18/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.3996 - val_loss: 0.4200\n",
      "Epoch 19/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.3963 - val_loss: 0.4175\n",
      "Epoch 20/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.3946 - val_loss: 0.4166\n",
      "Epoch 21/100\n",
      "11610/11610 [==============================] - 1s 60us/sample - loss: 0.3936 - val_loss: 0.4113\n",
      "Epoch 22/100\n",
      "11610/11610 [==============================] - 1s 58us/sample - loss: 0.3915 - val_loss: 0.4113\n",
      "Epoch 23/100\n",
      "11610/11610 [==============================] - 1s 59us/sample - loss: 0.3895 - val_loss: 0.4078\n",
      "Epoch 24/100\n",
      "11610/11610 [==============================] - 1s 95us/sample - loss: 0.3882 - val_loss: 0.4052\n",
      "Epoch 25/100\n",
      "11610/11610 [==============================] - 1s 78us/sample - loss: 0.3856 - val_loss: 0.4071\n",
      "Epoch 26/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.3852 - val_loss: 0.4076\n",
      "Epoch 27/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.3840 - val_loss: 0.4021\n",
      "Epoch 28/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.3814 - val_loss: 0.4017\n",
      "Epoch 29/100\n",
      "11610/11610 [==============================] - 1s 63us/sample - loss: 0.3799 - val_loss: 0.4000\n",
      "Train on 11610 samples, validate on 3870 samples\n",
      "Epoch 1/100\n",
      "11610/11610 [==============================] - 1s 76us/sample - loss: 3.1790 - val_loss: 0.7823\n",
      "Epoch 2/100\n",
      "11610/11610 [==============================] - 1s 60us/sample - loss: 0.5258 - val_loss: 0.4800\n",
      "Epoch 3/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.4386 - val_loss: 0.4327\n",
      "Epoch 4/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.4024 - val_loss: 0.4134\n",
      "Epoch 5/100\n",
      "11610/11610 [==============================] - 1s 59us/sample - loss: 0.3874 - val_loss: 0.4010\n",
      "Epoch 6/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: 0.3830 - val_loss: 0.3980\n",
      "Epoch 7/100\n",
      "11610/11610 [==============================] - 1s 60us/sample - loss: 0.3772 - val_loss: 0.3880\n",
      "Epoch 8/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.3728 - val_loss: 0.3911\n",
      "Epoch 9/100\n",
      "11610/11610 [==============================] - 1s 65us/sample - loss: 0.3698 - val_loss: 0.3810\n",
      "Epoch 10/100\n",
      "11610/11610 [==============================] - 1s 67us/sample - loss: 0.3661 - val_loss: 0.3804\n",
      "Epoch 11/100\n",
      "11610/11610 [==============================] - 1s 60us/sample - loss: 0.3644 - val_loss: 0.3781\n",
      "Epoch 12/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: 0.3631 - val_loss: 0.3886\n",
      "Train on 11610 samples, validate on 3870 samples\n",
      "Epoch 1/100\n",
      "11610/11610 [==============================] - 1s 75us/sample - loss: nan - val_loss: nan\n",
      "Epoch 2/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: nan - val_loss: nan\n",
      "Epoch 3/100\n",
      "11610/11610 [==============================] - 1s 62us/sample - loss: nan - val_loss: nan\n",
      "Epoch 4/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: nan - val_loss: nan\n",
      "Epoch 5/100\n",
      "11610/11610 [==============================] - 1s 61us/sample - loss: nan - val_loss: nan\n"
     ]
    }
   ],
   "source": [
    "# learning_rate: [1e-4, 3e-4, 1e-3, 3e-3, 1e-2, 3e-2]\n",
    "# W = W + grad * learning_rate\n",
    "\n",
    "learning_rates = [1e-4, 3e-4, 1e-3, 3e-3, 1e-2, 3e-2]\n",
    "histories = []\n",
    "for lr in learning_rates:\n",
    "    model = keras.models.Sequential([\n",
    "        keras.layers.Dense(30, activation='relu',\n",
    "                           input_shape=x_train.shape[1:]),\n",
    "        keras.layers.Dense(1),\n",
    "    ])\n",
    "    optimizer = keras.optimizers.SGD(lr)\n",
    "    model.compile(loss=\"mean_squared_error\", optimizer=optimizer)\n",
    "    callbacks = [keras.callbacks.EarlyStopping(\n",
    "        patience=5, min_delta=1e-2)]\n",
    "    history = model.fit(x_train_scaled, y_train,\n",
    "                        validation_data = (x_valid_scaled, y_valid),\n",
    "                        epochs = 100,\n",
    "                        callbacks = callbacks)\n",
    "    histories.append(history)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Learning rate:  0.0001\n"
     ]
    },
    {
     "data": {
      "image/png": "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4K93QFdHcCsnIiJHff7zrl27mDx58gjWZvAUzicgLT6Kr55fyIK1ZawrrYfYVPjML6B8LfzzR8GunoiInKQUzifo1gsKSY7187N/bHY7Jl7lRm+/90s3gltERIbMPffcw8MP9/1uve+++/jRj37EpZdeyowZMyguLubll18+7vdtbW3llltuobi4mOnTp7Nw4UIA1q9fz6xZs5g2bRpTpkxh69atNDc3c9VVV3HuuecyefLk3mdJDyVN33mCkmL8/K+LxvHT1zezYncNZ4xJgyt/Bgdq4Y3vQXQizPhKsKspIjK0Xrun98l8sV2d4BuCOMkphit+ctQi1113Hd/61re44447AJg/fz5vvPEGd911F0lJSVRVVXH22Wczd+5cjDGD/uiHH34YYwxr165l06ZNXHbZZWzZsoVHH32Ub37zm9x00020t7fT1dXFggULyMvL4/nnnycxMZH6+voTavbhqOc8BG4+dywZCVH8f28Erj37IuFzT8D4OfDKXbDuxeBWUEQkREyfPp2Kigr27dvHmjVrSE1NJScnh+9973tMmTKFOXPmUFpaSnl5+XG975IlS3qfVjVx4kTGjBnDli1bOOecc/jxj3/MAw88wO7du4mNjaW4uJg333yTe++9l8WLF5OcnDzk7VTPeQjERUXy9dnjuf/VDby/rYpzx2dAZBR88Q/wP5+Hl26HqAQ49dPBrqqIyNDo18M9MMKPjLz22mt54YUXKCsr47rrruPZZ5+lsrKSFStW4Pf7GTt2LK2trUPyWTfeeCNnnXUWf//737nyyit57LHHuOSSS1i5ciUvvvgiP/jBD7j00ku59957h+TzeqjnPERuPGs0uckxPPiPzVhr3c6oOLjxecg+HeZ/BXYtCW4lRURCwHXXXcfzzz/PCy+8wLXXXkt9fT1ZWVn4/X4WLlzI7t27j/s9L7jgAp599lkAtmzZwp49eygqKmLHjh2MGzeOu+66i2uuuYaPP/6Yffv2ERcXx/XXX8/dd989LE+8UjgPkRi/j7suncCqPXX8c1NFvwPJ8KW/QOpY+ON1JDZsCVodRURCwemnn05jYyP5+fnk5uZy0003sXz5coqLi3nmmWeYOHHicb/n17/+dbq7uykuLua6667jqaeeIjo6mvnz5zN58mSmTZvGunXr+MpXvsLatWuZNWsW5513Hj/84Q/5wQ9+MORt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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Learning rate:  0.0003\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Learning rate:  0.001\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Learning rate:  0.003\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAecAAAEzCAYAAAALosttAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAAIABJREFUeJzt3XmYXWWB5/Hve/dabiWpLVslJCQhEVJZ6AAiEktQ1hZcWgHFBroFR3GZsZuRVgcYx7FbabV7pjMCdrtA45JRW5kmNiqmWCRiIARCCFlJSGWrJUvtd33nj3Pq3luVqtStJbmn6v4+z3Oes9xTt956ueR3z3ve9z3GWouIiIh4h6/QBRAREZH+FM4iIiIeo3AWERHxGIWziIiIxyicRUREPEbhLCIi4jHDhrMx5rvGmGZjzKtDvG6MMf/LGLPLGPOKMeb88S+miIhI8cjnyvn7wFWneP1qYJG73AF8e+zFEhERKV7DhrO19mng6ClOuR542Dr+AEw1xswcrwKKiIgUm/G45zwb2J+z3+QeExERkVEInMlfZoy5A6fpm0gk8idz587NvBZLwaGuNNNLDSUBcyaLNSGl02l8PvXnGy3V3+ip7sZG9Tc2E7n+duzY0Wqtrcnn3PEI5wPAnJz9OvfYSay1DwEPASxevNhu374989r+o91c+vX1fO0D9dxwwdzBflxyNDY20tDQUOhiTFiqv9FT3Y2N6m9sJnL9GWP25XvueHz9eAz4c7fX9luBE9baQyN9k5poGIDm9tg4FElERGTiGvbK2RjzI6ABqDbGNAH3AkEAa+0DwDrgGmAX0A3cNpqCRIJ+ppQEaelUOIuISHEbNpyttTcN87oF7hyPwtREw7pyFhGRondGO4QNpzYaprmjt9DFEBGRQSQSCZqamujtLdy/01OmTGHbtm0F+/35iEQi1NXVEQwGR/0engvnF/YdK3QxRERkEE1NTUSjUebNm4cxhRlV09HRQTQaLcjvzoe1lra2Npqampg/f/6o38dT/dFrKyK0dMRwWspFRMRLent7qaqqKlgwTwTGGKqqqsbcuuCpcK4pDxNLpmnvTRa6KCIiMggF8/DGo448Fc61Fc5wqhbddxYRkUHMnFkcs0N7Kpw11llERMRj4VwbjQBorLOIiJyStZa77rqLpUuXUl9fz09+8hMADh06xOrVq1mxYgVLly7lmWeeIZVKceutt2bO/da3vlXg0g/PU721deUsIiL5+PnPf87mzZt5+eWXaW1t5YILLmD16tX88Ic/5Morr+SLX/wiqVSK7u5uNm/ezIEDB3j11VcBOH78eIFLPzxPhXNFJEA44NNYZxERj/vv/28rrx1sH9f3PHdWBfe+57y8zn322We56aab8Pv9TJ8+nXe84x1s3LiRCy64gL/4i78gkUjw3ve+lxUrVnD22WezZ88ePv3pT3PttddyxRVXjGu5TwdPNWsbY6itCNPcoStnEREZudWrV/P0008ze/Zsbr31Vh5++GGmTZvGyy+/TENDAw888AAf+9jHCl3MYXnqyhmc+84tCmcREU/L9wr3dLn00kt58MEHueWWWzh69ChPP/00999/P/v27aOuro7bb7+dWCzGpk2buOaaawiFQnzgAx9g8eLF3HzzzQUtez48F8415WF2tXQWuhgiIuJh73vf+9iwYQPLly/HGMPXv/51ZsyYwQ9+8APuv/9+gsEg5eXlPPzwwxw4cIDbbruNdDoNwN/+7d8WuPTD81w411aEeW53a6GLISIiHnTokPNEYmMM999/P/fff3+/12+55RZuueWWk35u06ZNZ6R848VT95zBmV+7vTdJbyJV6KKIiIgUhAfD2R3rrPvOIiJSpDwXzpmxzgpnEREpUp4NZ82vLSIixcpz4dz38AtdOYuISLHyXDhXlYXxGd1zFhGR4uW5cPb7DFXlYc2vLSIiRctz4QzOcCrNry0iImNVXl4+5Gt79+5l6dKlZ7A0+fNwOOvKWUREipMnw7kmGtY9ZxEROcm9997LmjVrMvv33XcfX/nKV7j88ss5//zzqa+v55e//OWI37e3t5fbbruN+vp6Vq5cyfr16wHYunUrF154IStWrGDZsmXs3LmTrq4urr32WpYvX87SpUszz5IeT56bvhOciUhaO2Ok0ha/zxS6OCIiMtCv7obDW8b3PWfUw9V/d8pT3v/+9/PFL36RO++8E4C1a9fyxBNP8JnPfIaKigpaW1t561vfynXXXYcx+efHmjVrMMawZcsWXn/9da644gp27NjBAw88wGc/+1k+8pGPEI/HSaVSrFu3jlmzZvH4448DcOLEidH/zUPw5JVzbUWYtIW2Ll09i4hI1vLly2lububgwYO8/PLLTJs2jRkzZvCFL3yB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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Learning rate:  0.01\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Learning rate:  0.03\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_learning_curves(history):\n",
    "    pd.DataFrame(history.history).plot(figsize=(8, 5))\n",
    "    plt.grid(True)\n",
    "    plt.gca().set_ylim(0, 1)\n",
    "    plt.show()\n",
    "for lr, history in zip(learning_rates, histories):\n",
    "    print(\"Learning rate: \", lr)\n",
    "    plot_learning_curves(history)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
